package com.example.shuiyin.service;

import com.example.shuiyin.entity.AvatarHistory;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
 * 处理用户头像的服务接口
 */
public interface AvatarService {
    
    /**
     * 上传用户头像
     * @param userId 用户ID
     * @param file 头像文件
     * @return 头像URL
     * @throws IOException 如果上传失败
     */
    String uploadAvatar(Long userId, MultipartFile file) throws IOException;
    
    /**
     * 获取用户所有头像历史
     * @param userId 用户ID
     * @return 头像历史列表
     */
    List<AvatarHistory> getUserAvatarHistory(Long userId);
    
    /**
     * 将历史头像设为当前头像
     * @param userId 用户ID
     * @param avatarHistoryId 头像历史ID
     * @return 更新后的头像URL
     */
    String setActiveAvatar(Long userId, Long avatarHistoryId);
    
    /**
     * 删除历史头像
     * @param userId 用户ID
     * @param avatarHistoryId 头像历史ID
     * @return 是否删除成功
     */
    boolean deleteAvatar(Long userId, Long avatarHistoryId);
} 